#include <cstdlib>
#include <stdio.h>
#include <string>
#include <sstream>
#include <iostream>
#include <map>
#include <unistd.h>
using namespace std;

#define MAXSIZE 10240

class ZombieFaceCleaner{
  private:
    // 保存faceID和faceOut(face发出的数据总量)
    map<int,string> faceInfoMap;
    
    // int类型转string
    string int2string(int number);
    //执行linux命令并返回执行结果
    string execLinuxCommand(const string& linux_command);
    // 从"nfdc face | grep tcp"得到的单条face信息中获取faceid
    int getFaceID(string faceInfoString);
    // 从"nfdc face | grep tcp"得到的单条face信息中获取faceOut
    string getFaceOut(string faceInfoString);
    // 获取当前时间的所有face信息，
    // 将其中与上一轮faceOut没有变化的tcp face杀掉,
    // 并返回这一轮的face信息
    map<int,string> findAndKillZombieFaces();
 
  public:
    ~ZombieFaceCleaner(){
    }

    // timeInterval: 清除TCP face的间隔时间
    void startCleaning(int timeInterval);     
     	
};


